package hp.com.service;

import hp.com.entity.PageInfo;
import hp.com.entity.Product;
import hp.com.entity.Sells;
import hp.com.entity.Suk_Options;

import java.util.List;

public interface ProductService {

    /**
     * 通过ID获取产品对象
     * @param id
     * @return
     * @throws Exception
     */
    Product GetProductById(int id) throws Exception;

    /**
     * 通过数据集获取全部商品页面的展示信息
     * @param page
     * @return
     * @throws Exception
     */
    PageInfo<Sells> listPage(PageInfo<Sells> page) throws Exception;

    /**
     * 通过数据集获取分类商品页面的展示信息
     * @param page
     * @param category
     * @return
     * @throws Exception
     */
    PageInfo<Sells> listPageByGroy(PageInfo<Sells> page,int category) throws Exception;

    /**
     * 通过商品ID获取所有SUK搭配信息
     * @param id 商品ID
     * @return Suk_Options对象，包含Suk属性，和属性对应的Suk选项及选项的值
     * @throws Exception
     */
    List<Suk_Options> getSUKOptionsByGoodId(int id) throws Exception;

    /**
     * 获取当前商品suk的信息
     * @param suk suk搭配信息
     * @return
     * @throws Exception
     */
    double GetSukPrice(String suk) throws Exception;
    String GetLowestAndHighestPrice(int id) throws Exception;
    List<Sells> getRecommendation(int number) throws Exception;
    List<Sells> getRecommendation(String cate,int number) throws Exception;
}
